package com.shf.domain.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import kotlin.collections.UCollectionsKt;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author 叶枫
 * @date 2023/12/4.
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("sg_article")
public class ArticleVo {

    @TableId
    private Long id;
    /**标题*/
    private String title;
    /**文章内容*/
    private String content;
    /**文章摘要*/
    private String summary;
    /**所属分类id*/
    private Long categoryId;

    /**增加一个字段，为categoryName，由categoryId来查询出*/
    /**由于数据库没有category_name字段，所以要用注解指定一下字段*/
    @TableField(exist = false)/**代表这个字段在数据库中不存在，避免MyBatisPlus在查询时报错*/
    private String categoryName;

    /**缩略图*/
    private String thumbnail;
    /**是否置顶（0否，1是）*/
    private String isTop;
    /**状态（0已发布，1草稿）*/
    private String status;
    private Long userId;
    /**访问量*/
    private Long viewCount;
    /**是否允许评论 1是，0否*/
    private String isComment;

    /**新增博客文章-使用mybatisplus的字段自增*/
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**删除标志（0代表未删除，1代表已删除）*/
    private Integer delFlag;


    public ArticleVo(Long id, long viewCount) {
        this.id = id;
        this.viewCount = viewCount;
    }
}
